﻿using Common.Contract.SalePerformance;
using Common.Contract.SalePerformance.Request;
using Common.Contract.SalePerformance.Response;
using SalePerformance.Core.ServiceCommand;
using SalePerformance.Service.Core;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;

namespace SalePerformance.Service
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "Service1" in both code and config file together.
    public class SalePerformanceService : ServiceBase, ISalePerformance
    {
        public RetrieveSalePerformanceByDaoResponse RetrieveDepositByDao(RetrieveSalePerformanceByDaoRequest request)
        {
            return new RetrieveDepositByDaoServiceCommand(Provider).Execute(request);
        }
        public RetrieveSalePerformanceByDaoResponse RetrieveLoanProductByDao(RetrieveSalePerformanceByDaoRequest request)
        {
            return new RetrieveLoanProductByDaoServiceCommand(Provider).Execute(request);
        }
        public RetrieveSalePerformanceByDaoResponse RetrieveLoanProductProgramByDao(RetrieveSalePerformanceByDaoRequest request)
        {
            return new RetrieveLoanProductProgramByDaoServiceCommand(Provider).Execute(request);
        }
        public RetrieveSalePerformanceByDaoResponse RetrieveLoanPromoProgramByDao(RetrieveSalePerformanceByDaoRequest request)
        {
            return new RetrieveLoanPromoProgramByDaoServiceCommand(Provider).Execute(request);
        }
        public RetrieveSalePerformanceByDaoResponse RetrieveCashManagementByDao(RetrieveSalePerformanceByDaoRequest request)
        {
            return new RetrieveCashManagementByDaoServiceCommand(Provider).Execute(request);
        }
        public RetrieveSalePerformanceByDaoResponse RetrieveTradeByDao(RetrieveSalePerformanceByDaoRequest request)
        {
            return new RetrieveTradeByDaoServiceCommand(Provider).Execute(request);
        }
        public RetrieveSaleKpiByDaoResponse RetrieveSaleKpiByDao(RetrieveSaleKpiByDaoRequest request)
        {
            return new RetrieveSaleKpiByDaoServiceCommand(Provider).Execute(request);
        }
        public RetrieveSaleKpiByDaoResponse RetrieveSaleKpiRegion(RetrieveSaleKpiByDaoRequest request)
        {
            return new RetrieveSaleKpiRegionServiceCommand(Provider).Execute(request);
        }
        public RetrieveRankKpiByBranchResponse RetrieveRankKpiByBranch(RetrieveRankKpiByBranchRequest request)
        {
            return new RetrieveRankKpiByBranchServiceCommand(Provider).Execute(request);
        }
        public RetrieveRawDataDNBQByDaoResponse RetrieveRawDataDNBQByDao(RetrieveRawDataDNBQByDaoRequest request)
        {
            return new RetrieveRawDataDNBQByDaoServiceCommand(Provider).Execute(request);
        }
        public RetrieveRawDataDNBQByDaoResponse RetrieveRawDataHDBQByDao(RetrieveRawDataDNBQByDaoRequest request)
        {
            return new RetrieveRawDataHDBQByDaoServiceCommand(Provider).Execute(request);
        }
        public RetrieveRawDataDNBQByDaoResponse RetrieveRawDataDNTCBQByDao(RetrieveRawDataDNBQByDaoRequest request)
        {
            return new RetrieveRawDataDNTCBQByDaoServiceCommand(Provider).Execute(request);
        }
        public RetrieveRawDataDNBQByDaoResponse RetrieveRawDataBadbankByDao(RetrieveRawDataDNBQByDaoRequest request)
        {
            return new RetrieveRawDataBadbankByDaoServiceCommand(Provider).Execute(request);
        }
        public RetrieveRankingSaleContestMSBOResponse RetrieveRankingSaleContestMSBO(RetrieveRankingSaleContestMSBORequest request)
        {
            return new RetrieveRankingSaleContestMSBOServiceCommand(Provider).Execute(request);
        }
        public RetrieveRankingSaleContestMSBOResponse RetrieveRankingSaleContestBranch(RetrieveRankingSaleContestMSBORequest request)
        {
            return new RetrieveRankingSaleContestBranchServiceCommand(Provider).Execute(request);
        }
        public RetrieveRankingSaleContestMSBOResponse RetrieveRankingSaleContestRegion(RetrieveRankingSaleContestMSBORequest request)
        {
            return new RetrieveRankingSaleContestRegionServiceCommand(Provider).Execute(request);
        }
        public RetrieveRawDataCardByDaoResponse RetrieveRawDataCardByDao(RetrieveRawDataCardByDaoRequest request)
        {
            return new RetrieveRawDataCardByDaoServiceCommand(Provider).Execute(request);
        }
        public RetrieveRawDataBilAwardResponse RetrieveRawDataBilAwardByDao(RetrieveRawDataBilAwardRequest request)
        {
            return new RetrieveRawDataBilAwardByDaoServiceCommand(Provider).Execute(request);
        }
        public RetrieveRawDataKHHDByDaoResponse RetrieveRawDataKHHDByDao(RetrieveRawDataKHHDByDaoRequest request)
        {
            return new RetrieveRawDataKHHDByDaoServiceCommand(Provider).Execute(request);
        }
        public RetrieveKpiMsboRawDailyByDaoResponse RetrieveKpiMsboRawDailyByDao(RetrieveKpiMsboRawDailyByDaoRequest request)
        {
            return new RetrieveKpiMsboRawDailyByDaoServiceCommand(Provider).Execute(request);
        }
    }
}
